const crypto = require('crypto');
const uuid = require('uuid/v4');

module.exports = {
    md5(str){
        let obj = crypto.createHash('md5');
        obj.update(str);
        return obj.digest('hex');
    },
    uuid(){
        return uuid().replace(/\-/g,'');
    },
    timestamp(){
        return (Date.parse(new Date()))/1000
    },
    code(){
        let num="";
        for(let i=0;i<6;i++){
            num+=Math.floor(Math.random()*10);
        }
        return num
    },
    sha1(str){
        let obj = crypto.createHash('sha1');
        obj.update(str);
        return obj.digest('hex');
    },
    randomString(len) {
        len = len || 32;
       var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz000000002345678';    /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
       var maxPos = $chars.length;
        var pwd = '';
        for (i = 0; i < len; i++) {
            pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
        }
        return pwd;
    },
    returnFloat(value) {
        var value = Math.round(parseFloat(value) * 100) / 100;
        var xsd = value.toString().split(".");
        if (xsd.length == 1) {
            value = value.toString() + ".00";
            return value;
        }
        if (xsd.length > 1) {
            if (xsd[1].length < 2) {
                value = value.toString() + "0";
            }
            return value;
        }
    },
    getTime(time,format){
        return new Date(Number(time)*1000).format(format)
    },
    
}
Date.prototype.format = function (fmt) {
    var o = {
      "M+": this.getMonth() + 1,                 //月份
      "d+": this.getDate(),                    //日
      "h+": this.getHours(),                   //小时
      "m+": this.getMinutes(),                 //分
      "s+": this.getSeconds(),                 //秒
      "q+": Math.floor((this.getMonth() + 3) / 3), //季度
      "S": this.getMilliseconds()             //毫秒
    };
    if (/(y+)/.test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
      if (new RegExp("(" + k + ")").test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
      }
    }
    return fmt;
  };